/**
 * 公共的下载文件，根据传入的bolb 类型自动下载
 * @param data File | Blob 
 * @param name  名字
 */
export const downloadFile = (data, name = '文件') => {
    var aDom = document.createElement('a'); // 创建一个 a 标签

    if (Object.prototype.toString.call(data) == '[object File]') {
        aDom.download = data.name || '文件'; // 设置文件名
    } else {
        aDom.download = name;
    }
    let href = URL.createObjectURL(data); // 将file对象转成 UTF-16 字符串
    console.log(data)
    aDom.href = href; // 放入href
    document.body.appendChild(aDom); // 将a标签插入 body
    aDom.click(); // 触发 a 标签的点击
    document.body.removeChild(aDom); // 移除刚才插入的 a 标签
    URL.revokeObjectURL(href); // 释放刚才生成的 UTF-16 字符串
};


export const createInput = (data={}) => {
    const { accept = '*', multiple = false } = data;
    return new Promise((resolve, reject) => {
        var input = document.createElement("input"); // 创建一个 a 标签
        input.accept = accept
        input.type = "file";
        input.style.position = 'absolute'
        input.style.inset = '0px'
        input.style.opacity = '0'
        input.multiple = multiple ? true : false;
        input.onchange = (e) => {
            resolve(e.target.files);
        };
        document.body.appendChild(input);
        input.click();
        function monitor() {
            document.removeEventListener("mousemove", monitor);
            document.body.removeChild(input);
        }
        document.addEventListener("mousemove", monitor, false);
    });
};